package ve.gob.cne.action.extintor;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;

import org.apache.log4j.Logger;

import ve.gob.cne.action.common.Constantes;
import ve.gob.cne.action.common.SaceCommonAction;
import ve.gob.cne.to.CompuestoTo;
import ve.gob.cne.to.DependenciaTo;
import ve.gob.cne.to.EstadoExtintorTo;
import ve.gob.cne.to.EstadosTo;
import ve.gob.cne.to.ExtintorTo;
import ve.gob.cne.to.HistoricoTo;
import ve.gob.cne.to.ModeloExtintorTo;
import ve.gob.cne.to.PesoTo;
import ve.gob.cne.to.SedeTo;
import ve.gob.cne.to.TipoFuegoTo;
import ve.gob.cne.to.TipoUbicacionTo;
import ve.gob.cne.to.UsuarioTo;
import ve.gob.cne.util.DateUtil;
import ve.gob.cne.util.enums.Operacion;

public class ExtintorAction extends SaceCommonAction {

	/**
	 * 
	 */
	private static final long serialVersionUID = -6510141666117320722L;
	private final static Logger logger = Logger.getLogger(ExtintorAction.class);
	private String modelo;
	private long peso;
	private String compuesto;
	private TipoUbicacionTo ubicacion;
	private Date ultimoMantenimiento;
	private Date proximoMantenimiento;
	private TipoFuegoTo fuego;
	private String sede;
	private String ubicacionA;
	private String area;
	private String ubicacionAdministrativa;
	private List<TipoUbicacionTo> ubicaciones;
	private List<CompuestoTo> compuestos;
	private List<ExtintorTo> listaExtintores;
	private List<SedeTo> sedes;
	private List<PesoTo> pesos;
	private List<TipoFuegoTo> fuegos;
	private List<ModeloExtintorTo> modelos;
	private List<EstadosTo> estados;
	private List<DependenciaTo> dependencias;
	private List<HistoricoTo> historial;
	private String estado;
	private String idUbicacion;
	private UsuarioTo responsable;
	private ExtintorTo extintor;
	private int cedula;
	private long codigo;
	private boolean tipoA = false;
	private boolean tipoB = false;
	private boolean tipoC = false;
	private boolean tipoK = false;
	private boolean alerta = false;
	private boolean reparacion;
	private String cilindro;
	private String base;
	private String manija;
	private String manometro;
	private String manijaAct;
	private String pasador;
	private String manguera;
	private String identificacion;
	private String etiqueta;
	private String ubicacionf;
	private List<String> codes;
	private String code;
	private String accion;
	private String observacion;

	public String init() {

		try {
			this.getExtintores();
			this.getSession().remove("extintor");
			estados = this.getServicioExtintor().getEstados();
			if (listaExtintores != null && listaExtintores.size() != 0) {
				this.codes = new ArrayList<String>();
				for (int i = 0; i < listaExtintores.size(); i++) {
					codes.add(listaExtintores.get(i).getCodigo());
				}
				this.getSession().put("codes", codes);
				this.getSession().put("estados", estados);
			}
			

		} catch (Exception e) {
			logger.error("Ha ocurrido un error con el siguiente mensaje: "
					+ e.getMessage());
		}
		return SUCCESS;
	}
	
	public String initExtintor(){
		try {
			this.getExtintores();
		} catch (Exception e) {
			logger.error("Ha ocurrido un error con el siguiente mensaje: "
					+ e.getMessage());
		}
		return SUCCESS;
		
	}

	@SuppressWarnings("unchecked")
	public String registrarExtintor() {
		StringBuffer codigoTemp = new StringBuffer();

		ExtintorTo extintor = new ExtintorTo();
		HistoricoTo historico = new HistoricoTo();
		
		List<TipoFuegoTo> listaTemp = new ArrayList<TipoFuegoTo>();
		try {

			modelos = (List<ModeloExtintorTo>) this.getSession().get("modelos");
			for (ModeloExtintorTo m : modelos) {
				if (m.getId() == Integer.parseInt(modelo)) {
					extintor.setModelo(m);
				}
			}

			pesos = (List<PesoTo>) this.getSession().get("pesos");
			for (PesoTo p : pesos) {
				if (p.getId() == this.getPeso()) {
					extintor.setPeso(p);
				}
			}

			ubicaciones = (List<TipoUbicacionTo>) this.getSession().get(
					"ubicaciones");
			for (TipoUbicacionTo u : ubicaciones) {
				if (u.getId() == Integer.parseInt(this.getIdUbicacion())) {
					extintor.setUbicacion(u);
				}
			}

			sedes = (List<SedeTo>) this.getSession().get("sedes");
			for (SedeTo s : sedes) {
				if (s.getId() == Integer.parseInt(this.getSede())) {
					extintor.setSede(s);
					if (s.getDescripcion().trim()
							.equalsIgnoreCase("PRINICIPAL")) {
						codigoTemp.append(Constantes.PRINCIPAL);
					} else if (s.getDescripcion().trim()
							.equalsIgnoreCase("CTV")) {
						codigoTemp.append(Constantes.CTV);
					} else if (s.getDescripcion().trim()
							.equalsIgnoreCase("TELEPORT")) {
						codigoTemp.append(Constantes.TELEPORT);
					}
				}
			}

			compuestos = (List<CompuestoTo>) this.getSession()
					.get("compuestos");
			for (CompuestoTo c : compuestos) {
				if (c.getId() == Integer.parseInt(this.getCompuesto())) {
					extintor.setCompuesto(c);
					if (c.getDescripcion().trim().equalsIgnoreCase("AGUA")) {
						codigoTemp.append(Constantes.AGUA);
					} else if (c.getDescripcion().trim()
							.equalsIgnoreCase("ESPUMA")) {
						codigoTemp.append(Constantes.ESPUMA);
					} else if (c.getDescripcion().trim()
							.equalsIgnoreCase("DIOXIDODECARBONO")) {
						codigoTemp.append(Constantes.DIOXIDO_DE_CARBONO);
					} else if (c.getDescripcion().trim()
							.equalsIgnoreCase("POLVOQUIMICOSECO")) {
						codigoTemp.append(Constantes.POLVO_QUIMICO_SECO);
					} else if (c.getDescripcion().trim()
							.equalsIgnoreCase("ACETATODEPOTASIO")) {
						codigoTemp.append(Constantes.ACETATO_DE_POTASIO);
					} else if (c.getDescripcion().trim()
							.equalsIgnoreCase("HALOGENOS")) {
						codigoTemp.append(Constantes.HALOGENOS);
					} else if (c.getDescripcion().trim()
							.equalsIgnoreCase("POLVO")) {
						codigoTemp.append(Constantes.POLVO);
					} else if (c.getDescripcion().trim()
							.equalsIgnoreCase("AGUAVAPORIZADA")) {
						codigoTemp.append(Constantes.AGUA_VAPORIZADA);
					}
				}
			}

			fuegos = (List<TipoFuegoTo>) this.getSession().get("fuegos");
			if (this.isTipoA()) {
				codigoTemp.append(Constantes.TIPOA);
				listaTemp.add(new TipoFuegoTo(0, "tipoA"));
			}
			if (this.isTipoB()) {
				codigoTemp.append(Constantes.TIPOB);
				listaTemp.add(new TipoFuegoTo(0, "tipoB"));
			}
			if (this.isTipoC()) {
				codigoTemp.append(Constantes.TIPOC);
				listaTemp.add(new TipoFuegoTo(0, "tipoC"));
			}
			if (this.isTipoK()) {
				codigoTemp.append(Constantes.TIPOK);
				listaTemp.add(new TipoFuegoTo(0, "tipoK"));
			}
			extintor.setTipofuegos(listaTemp);

			extintor.setUltimoMantenimiento(this.getUltimoMantenimiento());
			extintor.setProximoMantenimiento(this.getProximoMantenimiento());
			extintor.setAlerta(DateUtil.getDateDiff(1,
					this.getUltimoMantenimiento(), new Date()) > 11 ? true
					: false);
			responsable = (UsuarioTo) this.getSession().get("responsable");
			extintor.setResponsable(responsable);
			dependencias = (List<DependenciaTo>)this.getSession().get("dependencias");
			for(DependenciaTo d : dependencias){
				if(d.getId() == Integer.parseInt(this.getUbicacionAdministrativa())){
					extintor.setUbicacionAdministrativa(d);
				}
			}
			extintor.setArea(this.getArea());
			int aleatorio = new Random().nextInt(1000);
			codigoTemp.append(String.valueOf(aleatorio));
			extintor.setCodigo(codigoTemp.toString());
			extintor.setHabilitado(1);
			this.getSession().put("extintor", extintor);
			estados = (List<EstadosTo>) this.getSession().get("estados");
			historico.setExtintor(extintor);
			historico.setOperacion(Operacion.CREACION);
			historico.setResponsable((UsuarioTo) this.getSession().get("usuario"));
			this.getSession().put("historico", historico);
			historico = null;
			extintor = null;

		} catch (Exception e) {
			logger.error("Ha ocurrido un error con el siguiente mensaje: "
					+ e.getMessage());
		}

		return SUCCESS;
	}

	public String responsable() {
		String result = SUCCESS;
		try {
			if (this.getCedula() != 0) {
				this.responsable = this.getServicioUsuario().getUsuario(
						this.getCedula());

				if (responsable.getHabilitado() == 0) {
					result = ERROR;
				}
				this.getSession().put("responsable", responsable);
			}

		} catch (Exception e) {
			responsable = null;
			logger.error("Ha ocurrido un error con el siguiente mensaje: "
					+ e.getMessage());
		}

		return result;
	}

	@SuppressWarnings({ "unchecked", "deprecation" })
	public String getExtintores() {
		SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
		DateFormat format = sdf;

		try {

			this.listaExtintores = this.getServicioExtintor().getExtintores();
			List<ExtintorTo> temp = new ArrayList<ExtintorTo>();
			for (ExtintorTo e : listaExtintores) {
				if (e.getHabilitado() != 0) {
					e.setAlerta(DateUtil.getDateDiff(1,
							e.getUltimoMantenimiento(), new Date()) > 11 ? true
							: false);
					e.setUltimoMantenimiento(format.parse(sdf.format(e.getUltimoMantenimiento())));
					e.setProximoMantenimiento(format.parse(sdf.format(e.getProximoMantenimiento())));
					temp.add(e);
					
				}
				listaExtintores = new ArrayList<ExtintorTo>();
				listaExtintores = temp;
			}
			this.getSession().put("listaExtintores", temp);

		} catch (Exception e) {
			logger.error("Ha ocurrido un error con el siguiente mensaje: "
					+ e.getMessage());
		}

		return SUCCESS;
	}

	@SuppressWarnings("unchecked")
	public String initRegistrarExtintor() {
		try {

			compuestos = this.getServicioExtintor().getCompuestos();
			this.getSession().put("compuestos", compuestos);
			ubicaciones = this.getServicioExtintor().getUbicaciones();
			this.getSession().put("ubicaciones", ubicaciones);
			sedes = this.getServicioExtintor().getSedes();
			this.getSession().put("sedes", sedes);
			pesos = this.getServicioExtintor().getPesos();
			this.getSession().put("pesos", pesos);
			fuegos = this.getServicioExtintor().getTipoFuegos();
			this.getSession().put("fuegos", fuegos);
			modelos = this.getServicioExtintor().getModelos();
			this.getSession().put("modelos", modelos);
			estados = this.getServicioExtintor().getEstados();
			this.getSession().put("estados", estados);
			dependencias = this.getServicioExtintor().getDependencias();
			this.getSession().put("dependencias", dependencias);

		} catch (Exception e) {
			logger.error("Ha ocurrido un error con el siguiente mensaje: "
					+ e.getMessage());
		}
		return SUCCESS;
	}

	@SuppressWarnings("deprecation")
	public String detalleExtintor() {
		SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
		DateFormat format = sdf;

		try {

			extintor = this.getServicioExtintor().getExtintor(this.getCodigo());
			extintor.setAlerta(DateUtil.getDateDiff(1,
					extintor.getUltimoMantenimiento(), new Date()) > 11 ? true
					: false);
			extintor.setUltimoMantenimiento(format.parse(sdf.format(extintor.getUltimoMantenimiento())));
			extintor.setProximoMantenimiento(format.parse(sdf.format(extintor.getProximoMantenimiento())));
			for(TipoFuegoTo f : extintor.getTipofuegos()){
				if(f.getDescripcion().equalsIgnoreCase("tipoA")){
					this.tipoA = true;
				}else if(f.getDescripcion().equalsIgnoreCase("tipoB")){
					this.tipoB = true;
				}else if(f.getDescripcion().equalsIgnoreCase("tipoC")){
					this.tipoC = true;
				}else if(f.getDescripcion().equalsIgnoreCase("tipoK")){
					this.tipoK = true;
				}
			}
		} catch (Exception e) {
			logger.error("Ha ocurrido un error con el siguiente mensaje: "
					+ e.getMessage());
		}
		return SUCCESS;
	}

	@SuppressWarnings({ "unchecked", "deprecation" })
	public String initEdit() {
		SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");

		try {
			compuestos = this.getServicioExtintor().getCompuestos();
			this.getSession().put("compuestos", compuestos);
			ubicaciones = this.getServicioExtintor().getUbicaciones();
			this.getSession().put("ubicaciones", ubicaciones);
			sedes = this.getServicioExtintor().getSedes();
			this.getSession().put("sedes", sedes);
			pesos = this.getServicioExtintor().getPesos();
			this.getSession().put("pesos", pesos);
			fuegos = this.getServicioExtintor().getTipoFuegos();
			this.getSession().put("fuegos", fuegos);
			extintor = this.getServicioExtintor().getExtintor(this.getCodigo());
			extintor.setUltimoMantenimiento(new Date(sdf.format(extintor.getUltimoMantenimiento())));
			extintor.setProximoMantenimiento(new Date(sdf.format(extintor.getProximoMantenimiento())));
			for(TipoFuegoTo f : extintor.getTipofuegos()){
				if(f.getDescripcion().equalsIgnoreCase("tipoA")){
					this.tipoA = true;
				}else if(f.getDescripcion().equalsIgnoreCase("tipoB")){
					this.tipoB = true;
				}else if(f.getDescripcion().equalsIgnoreCase("tipoC")){
					this.tipoC = true;
				}else if(f.getDescripcion().equalsIgnoreCase("tipoK")){
					this.tipoK = true;
				}
			}
			this.getSession().put("extintor", extintor);
			modelos = this.getServicioExtintor().getModelos();
			this.getSession().put("modelos", modelos);
			estados = this.getServicioExtintor().getEstados();
			this.getSession().put("estados", estados);
			dependencias = this.getServicioExtintor().getDependencias();
			this.getSession().put("dependencias", dependencias);

		} catch (Exception e) {
			logger.error("Ha ocurrido un error con el siguiente mensaje: "
					+ e.getMessage());
		}
		return SUCCESS;
	}

	@SuppressWarnings("unchecked")
	public String editarExtintor() {

		extintor = (ExtintorTo) this.getSession().get("extintor");
		HistoricoTo historico = new HistoricoTo();
		List<TipoFuegoTo> listaTemp = new ArrayList<TipoFuegoTo>();
		try {

			modelos = (List<ModeloExtintorTo>) this.getSession().get("modelos");
			for (ModeloExtintorTo m : modelos) {
				if (m.getId() == Integer.parseInt(modelo)) {
					extintor.setModelo(m);
				}
			}
			pesos = (List<PesoTo>) this.getSession().get("pesos");
			for (PesoTo p : pesos) {
				if (p.getId() == this.getPeso()) {
					extintor.setPeso(p);
				}
			}

			ubicaciones = (List<TipoUbicacionTo>) this.getSession().get(
					"ubicaciones");
			for (TipoUbicacionTo u : ubicaciones) {
				if (u.getId() == Integer.parseInt(this.getIdUbicacion())) {
					extintor.setUbicacion(u);
				}
			}

			sedes = (List<SedeTo>) this.getSession().get("sedes");
			for (SedeTo s : sedes) {
				if (s.getId() == Integer.parseInt(this.getSede())) {
					extintor.setSede(s);
				}
			}

			compuestos = (List<CompuestoTo>) this.getSession()
					.get("compuestos");
			for (CompuestoTo c : compuestos) {
				if (c.getId() == Integer.parseInt(this.getCompuesto())) {
					extintor.setCompuesto(c);
				}
			}

			fuegos = (List<TipoFuegoTo>) this.getSession().get("fuegos");
			if (this.isTipoA()) {
				listaTemp.add(new TipoFuegoTo(0, "tipoA"));
			}
			if (this.isTipoB()) {
				listaTemp.add(new TipoFuegoTo(0, "tipoB"));
			}
			if (this.isTipoC()) {
				listaTemp.add(new TipoFuegoTo(0, "tipoC"));
			}
			if (this.isTipoK()) {
				listaTemp.add(new TipoFuegoTo(0, "tipoK"));
			}
			extintor.setTipofuegos(listaTemp);
			extintor.setProximoMantenimiento(this.getProximoMantenimiento());
			extintor.setUltimoMantenimiento(this.getUltimoMantenimiento());
			extintor.setAlerta(DateUtil.getDateDiff(1,
					this.getUltimoMantenimiento(), new Date()) > 11 ? true
					: false);
			responsable = (UsuarioTo) this.getSession().get("responsable");
			if(responsable != null){
				extintor.setResponsable(responsable);
			}			
			dependencias = (List<DependenciaTo>)this.getSession().get("dependencias");
			for(DependenciaTo d : dependencias){
				if(d.getId() == Integer.parseInt(this.getUbicacionAdministrativa())){
					extintor.setUbicacionAdministrativa(d);
				}
			}
			extintor.setArea(this.getArea());
			extintor.setHabilitado(1);
			historico.setExtintor(extintor);
			historico.setOperacion(Operacion.ACTUALIZACION);
			historico.setResponsable((UsuarioTo) this.getSession().get("usuario"));
			this.getSession().put("extintor", extintor);
			this.getSession().put("historico", historico);
			estados = (List<EstadosTo>) this.getSession().get("estados");
			historico = null;
			extintor = null;

		} catch (Exception e) {
			logger.error("Ha ocurrido un error con el siguiente mensaje: "
					+ e.getMessage());
		}

		return SUCCESS;
	}

	public String estadoExtintor() {
		ExtintorTo extintor = (ExtintorTo) this.getSession().get("extintor");
		HistoricoTo historico = (HistoricoTo) this.getSession().get("historico");
		EstadoExtintorTo estado = new EstadoExtintorTo();
		try {
			estado.setCilindro(this.getCilindro());
			estado.setBase(this.getBase());
			estado.setEtiqueta(this.getEtiqueta());
			estado.setIdentificacion(this.getIdentificacion());
			estado.setMangueraBoquilla(this.getManguera());
			estado.setManijaActivacion(this.getManijaAct());
			estado.setManijaFija(this.getManija());
			estado.setManometro(this.getManometro());
			estado.setPasador(this.getPasador());
			estado.setUbicacion(this.getUbicacionf());
			extintor.setEstadoExtintor(estado);
			extintor.setObservacion(this.getObservacion());
			extintor.setReparacion(this.isReparacion());
			historico.setExtintor(extintor);
			this.getSession().put("extintor", extintor);
			this.getSession().put("historico", historico);
			historico = null;
			extintor = null;
		} catch (Exception e) {
			logger.error("Ha ocurrido un error con el siguiente mensaje: "
					+ e.getMessage());
		}
		return SUCCESS;
	}
	
	@SuppressWarnings({ "deprecation", "unchecked" })
	public String busquedaExtintor(){
		List<ExtintorTo> extintores = (List<ExtintorTo>) this.getSession().get("listaExtintores");
		estados = (List<EstadosTo>) this.getSession().get("estados");
		SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
		DateFormat format = sdf;
		String result = ERROR;
		boolean exito = false;
		try {

			if(extintores != null && !extintores.isEmpty()){
				for(ExtintorTo e : extintores){
					if(e.getCodigo().equalsIgnoreCase(this.getCode())){
						e.setTipofuegos(this.getServicioExtintor().getTipoFuegosByIdExtintor(e.getId()));
						extintor = e;
						historial = (List<HistoricoTo>) this.getServicioHistorico().getHistorico(extintor.getId());
						extintor.setUltimoMantenimiento(format.parse(sdf.format(extintor.getUltimoMantenimiento())));
						extintor.setProximoMantenimiento(format.parse(sdf.format(extintor.getProximoMantenimiento())));
						extintor.setAlerta(DateUtil.getDateDiff(1,
								extintor.getUltimoMantenimiento(), new Date()) > 11 ? true
								: false);
						this.getSession().put("extintor", extintor);
						extintor = null;
						result = SUCCESS;
						exito = true;
						break;
					}
				}
				addActionError("El codigo que ingreso no corresponde a ningun extintor registrado");
			}
		} catch (Exception e) {
			logger.error("Ha ocurrido un error con el siguiente mensaje: "
					+ e);
		}
		return result;
	}
	
	public String inspeccionar(){
		ExtintorTo extintor = (ExtintorTo) this.getSession().get("extintor");
		HistoricoTo historico = new HistoricoTo();
		EstadoExtintorTo estado = new EstadoExtintorTo();
		try {
			estado.setCilindro(this.getCilindro());
			estado.setBase(this.getBase());
			estado.setEtiqueta(this.getEtiqueta());
			estado.setIdentificacion(this.getIdentificacion());
			estado.setMangueraBoquilla(this.getManguera());
			estado.setManijaActivacion(this.getManijaAct());
			estado.setManijaFija(this.getManija());
			estado.setManometro(this.getManometro());
			estado.setPasador(this.getPasador());
			estado.setUbicacion(this.getUbicacionf());
			extintor.setEstadoExtintor(estado);
			extintor.setObservacion(this.getObservacion());
			extintor.setReparacion(this.isReparacion());
			historico.setOperacion(Operacion.INSPECCION);
			historico.setResponsable((UsuarioTo) this.getSession().get("usuario"));
			historico.setFechaModificacion(new Date());
			historico.setExtintor(extintor);
			this.getServicioExtintor().registrarExtintor(extintor);
			this.getServicioHistorico().saveHistory(historico);
			historico = null;
			extintor = null;
		} catch (Exception e) {
			logger.error("Ha ocurrido un error con el siguiente mensaje: "
					+ e);
		}
		return SUCCESS;
	}

	public String removeExtintor() {

		try {
			UsuarioTo usuario = (UsuarioTo) this.getSession().get("usuario");
			HistoricoTo historico = new HistoricoTo();
			ExtintorTo extintor = new ExtintorTo();
			List<ExtintorTo> extinotres = (List<ExtintorTo>) this.getSession().get("listaExtintores");
			for(ExtintorTo e : extinotres){
				if(e.getId() == this.getCodigo()){
					e.setHabilitado(0);
					extintor = e;
				}
			}
			historico.setFechaModificacion(new Date());
			historico.setExtintor(extintor);
			historico.setOperacion(Operacion.ELIMINACION);
			historico.setResponsable((UsuarioTo) this.getSession().get("usuario"));
			this.getServicioExtintor().remove(extintor);
			this.getServicioHistorico().saveHistory(historico);
			logger.info("EL USUARIO: " + usuario.getCedula()
					+ " HA ELIMINADO EL EXTINTOR CON EL CODIGO: "
					+ extintor.getCodigo());
		} catch (Exception e) {
			logger.error("Ha ocurrido un error con el siguiente mensaje: "
					+ e.getMessage());
		}

		return SUCCESS;
	}

	/**
	 * @return the modelo
	 */
	public String getModelo() {
		return modelo;
	}

	/**
	 * @param modelo
	 *            the modelo to set
	 */
	public void setModelo(String modelo) {
		this.modelo = modelo;
	}

	/**
	 * @return the peso
	 */
	public long getPeso() {
		return peso;
	}

	/**
	 * @param peso
	 *            the peso to set
	 */
	public void setPeso(long peso) {
		this.peso = peso;
	}

	/**
	 * @return the compuesto
	 */
	public String getCompuesto() {
		return compuesto;
	}

	/**
	 * @param compuesto
	 *            the compuesto to set
	 */
	public void setCompuesto(String compuesto) {
		this.compuesto = compuesto;
	}

	/**
	 * @return the ubicacion
	 */
	public TipoUbicacionTo getUbicacion() {
		return ubicacion;
	}

	/**
	 * @param ubicacion
	 *            the ubicacion to set
	 */
	public void setUbicacion(TipoUbicacionTo ubicacion) {
		this.ubicacion = ubicacion;
	}

	/**
	 * @return the ultimoMantenimiento
	 */
	public Date getUltimoMantenimiento() {
		return ultimoMantenimiento;
	}

	/**
	 * @param ultimoMantenimiento
	 *            the ultimoMantenimiento to set
	 */
	public void setUltimoMantenimiento(Date ultimoMantenimiento) {
		this.ultimoMantenimiento = ultimoMantenimiento;
	}

	/**
	 * @return the fuego
	 */
	public TipoFuegoTo getFuego() {
		return fuego;
	}

	/**
	 * @param fuego
	 *            the fuego to set
	 */
	public void setFuego(TipoFuegoTo fuego) {
		this.fuego = fuego;
	}

	/**
	 * @return the sede
	 */
	public String getSede() {
		return sede;
	}

	/**
	 * @param sede
	 *            the sede to set
	 */
	public void setSede(String sede) {
		this.sede = sede;
	}

	/**
	 * @return the ubicacionA
	 */
	public String getUbicacionA() {
		return ubicacionA;
	}

	/**
	 * @param ubicacionA
	 *            the ubicacionA to set
	 */
	public void setUbicacionA(String ubicacionA) {
		this.ubicacionA = ubicacionA;
	}

	/**
	 * @return the area
	 */
	public String getArea() {
		return area;
	}

	/**
	 * @param area
	 *            the area to set
	 */
	public void setArea(String area) {
		this.area = area;
	}

	/**
	 * @return the ubicacionAdministrativa
	 */
	public String getUbicacionAdministrativa() {
		return ubicacionAdministrativa;
	}

	/**
	 * @param ubicacionAdministrativa
	 *            the ubicacionAdministrativa to set
	 */
	public void setUbicacionAdministrativa(String ubicacionAdministrativa) {
		this.ubicacionAdministrativa = ubicacionAdministrativa;
	}

	/**
	 * @return the ubicaciones
	 */
	public List<TipoUbicacionTo> getUbicaciones() {
		return ubicaciones;
	}

	/**
	 * @param ubicaciones
	 *            the ubicaciones to set
	 */
	public void setUbicaciones(List<TipoUbicacionTo> ubicaciones) {
		this.ubicaciones = ubicaciones;
	}

	/**
	 * @return the fuegos
	 */
	public List<CompuestoTo> getCompuestos() {
		return compuestos;
	}

	/**
	 * @param fuegos
	 *            the fuegos to set
	 */
	public void setCompuestos(List<CompuestoTo> compuestos) {
		this.compuestos = compuestos;
	}

	public String getEstado() {
		return estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}

	/**
	 * @return the idUbicacion
	 */
	public String getIdUbicacion() {
		return idUbicacion;
	}

	/**
	 * @param idUbicacion
	 *            the idUbicacion to set
	 */
	public void setIdUbicacion(String idUbicacion) {
		this.idUbicacion = idUbicacion;
	}

	/**
	 * @return the responsable
	 */
	public UsuarioTo getResponsable() {
		return responsable;
	}

	/**
	 * @param responsable
	 *            the responsable to set
	 */
	public void setResponsable(UsuarioTo responsable) {
		this.responsable = responsable;
	}

	/**
	 * @return the cedula
	 */
	public int getCedula() {
		return cedula;
	}

	/**
	 * @param cedula
	 *            the cedula to set
	 */
	public void setCedula(int cedula) {
		this.cedula = cedula;
	}

	public List<ExtintorTo> getListaExtintores() {
		return listaExtintores;
	}

	public void setListaExtintores(List<ExtintorTo> listaExtintores) {
		this.listaExtintores = listaExtintores;
	}

	public long getCodigo() {
		return codigo;
	}

	public void setCodigo(long codigo) {
		this.codigo = codigo;
	}

	public ExtintorTo getExtintor() {
		return extintor;
	}

	public void setExtintor(ExtintorTo extintor) {
		this.extintor = extintor;
	}

	/**
	 * @return the sedes
	 */
	public List<SedeTo> getSedes() {
		return sedes;
	}

	/**
	 * @param sedes
	 *            the sedes to set
	 */
	public void setSedes(List<SedeTo> sedes) {
		this.sedes = sedes;
	}

	/**
	 * @return the pesos
	 */
	public List<PesoTo> getPesos() {
		return pesos;
	}

	/**
	 * @param pesos
	 *            the pesos to set
	 */
	public void setPesos(List<PesoTo> pesos) {
		this.pesos = pesos;
	}

	/**
	 * @return the fuegos
	 */
	public List<TipoFuegoTo> getFuegos() {
		return fuegos;
	}

	/**
	 * @param fuegos
	 *            the fuegos to set
	 */
	public void setFuegos(List<TipoFuegoTo> fuegos) {
		this.fuegos = fuegos;
	}

	/**
	 * @return the tipoA
	 */
	public boolean isTipoA() {
		return tipoA;
	}

	/**
	 * @param tipoA
	 *            the tipoA to set
	 */
	public void setTipoA(boolean tipoA) {
		this.tipoA = tipoA;
	}

	/**
	 * @return the tipoB
	 */
	public boolean isTipoB() {
		return tipoB;
	}

	/**
	 * @param tipoB
	 *            the tipoB to set
	 */
	public void setTipoB(boolean tipoB) {
		this.tipoB = tipoB;
	}

	/**
	 * @return the tipoC
	 */
	public boolean isTipoC() {
		return tipoC;
	}

	/**
	 * @param tipoC
	 *            the tipoC to set
	 */
	public void setTipoC(boolean tipoC) {
		this.tipoC = tipoC;
	}

	/**
	 * @return the tipoK
	 */
	public boolean isTipoK() {
		return tipoK;
	}

	/**
	 * @param tipoK
	 *            the tipoK to set
	 */
	public void setTipoK(boolean tipoK) {
		this.tipoK = tipoK;
	}

	public List<ModeloExtintorTo> getModelos() {
		return modelos;
	}

	public void setModelos(List<ModeloExtintorTo> modelos) {
		this.modelos = modelos;
	}

	public boolean isAlerta() {
		return alerta;
	}

	public void setAlerta(boolean alerta) {
		this.alerta = alerta;
	}

	public Date getProximoMantenimiento() {
		return proximoMantenimiento;
	}

	public void setProximoMantenimiento(Date proximoMantenimiento) {
		this.proximoMantenimiento = proximoMantenimiento;
	}

	public List<EstadosTo> getEstados() {
		return estados;
	}

	public void setEstados(List<EstadosTo> estados) {
		this.estados = estados;
	}

	public String getCilindro() {
		return cilindro;
	}

	public void setCilindro(String cilindro) {
		this.cilindro = cilindro;
	}

	public String getBase() {
		return base;
	}

	public void setBase(String base) {
		this.base = base;
	}

	public String getManija() {
		return manija;
	}

	public void setManija(String manija) {
		this.manija = manija;
	}

	public String getManometro() {
		return manometro;
	}

	public void setManometro(String manometro) {
		this.manometro = manometro;
	}

	public String getManijaAct() {
		return manijaAct;
	}

	public void setManijaAct(String manijaAct) {
		this.manijaAct = manijaAct;
	}

	public String getPasador() {
		return pasador;
	}

	public void setPasador(String pasador) {
		this.pasador = pasador;
	}

	public String getManguera() {
		return manguera;
	}

	public void setManguera(String manguera) {
		this.manguera = manguera;
	}

	public String getIdentificacion() {
		return identificacion;
	}

	public void setIdentificacion(String identificacion) {
		this.identificacion = identificacion;
	}

	public String getEtiqueta() {
		return etiqueta;
	}

	public void setEtiqueta(String etiqueta) {
		this.etiqueta = etiqueta;
	}

	public String getUbicacionf() {
		return ubicacionf;
	}

	public void setUbicacionf(String ubicacionf) {
		this.ubicacionf = ubicacionf;
	}

	public List<String> getCodes() {
		return codes;
	}

	public void setCodes(List<String> codes) {
		this.codes = codes;
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public List<DependenciaTo> getDependencias() {
		return dependencias;
	}

	public void setDependencias(List<DependenciaTo> dependencias) {
		this.dependencias = dependencias;
	}

	public String getAccion() {
		return accion;
	}

	public void setAccion(String accion) {
		this.accion = accion;
	}

	public List<HistoricoTo> getHistorial() {
		return historial;
	}

	public void setHistorial(List<HistoricoTo> historial) {
		this.historial = historial;
	}

	public String getObservacion() {
		return observacion;
	}

	public void setObservacion(String observacion) {
		this.observacion = observacion;
	}

	public boolean isReparacion() {
		return reparacion;
	}

	public void setReparacion(boolean reparacion) {
		this.reparacion = reparacion;
	}
}
